import request from '@/api/request'

interface TagData {
  id?: string
  name: string
  color?: string
  description?: string
}

interface TagListParams {
  page?: number
  pageSize?: number
  name?: string
}

interface TagDetailParams {
  id: string
}

/**
 * 创建标签
 * @param data 标签数据
 * @returns 返回创建的标签信息
 */
export function createTag(data: Omit<TagData, 'id'>) {
  return request.post('/tags/create', data)
}

/**
 * 更新标签
 * @param data 标签数据
 * @returns 返回更新后的标签信息
 */
export function updateTag(data: TagData) {
  return request.post('/tags/update', data)
}

/**
 * 删除标签
 * @param data 删除数据
 * @returns Promise
 */
export function deleteTag(data: TagDetailParams) {
  return request.post('/tags/delete', data)
}

/**
 * 查询标签列表
 * @param params 查询参数
 * @returns 返回标签列表
 */
export function getTagList(params?: TagListParams) {
  return request.post('/tags/list', params || {})
}

/**
 * 查询标签详情
 * @param data 查询数据
 * @returns 返回标签详情
 */
export function getTagDetail(data: TagDetailParams) {
  return request.post('/tags/detail', data)
}

